The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for declarative service domain federation.
Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple separate systems from several business domains. SOA also generally provides a way for consumers of services, such as Web-based applications, to be aware of available SOA-based services. For example, several disparate departments within a company may develop and deploy SOA services in different implementation languages; their respective clients will benefit from a well understood, well defined interface to access them.
Service-orientation requires loose coupling of services with operating systems, and other technologies that underlies applications. SOA separates functions into distinct units, or services, which developers make accessible over a network in order to allow users to combine and reuse them in the production of applications. These services and their corresponding consumers communicate with each other by passing data in a well-defined, shared format, or by coordinating an activity between two or more services.
SOA has seen rapid adoption in enterprise computing. One main advantage of SOA is service reuse. This is enabled through connectivity between service consumers and service providers. Connectivity middleware such as Enterprise Service Bus (ESB) provides four basic principles of connectivity: visibility, management, security, and governance.
Traditionally, the deployment of SOA has started with individual business units. The services with a particular business unit, the associated connectivity middleware, and necessary service registry and repository form what is called a service domain. The incremental nature of SOA adoption typically results in islands of service domains that are not connected. To enable greater service reuse and to scale up the SOA scope, it is highly desirable to have federated connectivity among the service domains. A federated service domain effectively connects these islands of SOA together to form an enterprise-spanning SOA.